第三十天,來點結語好了,非常感謝 IT 邦幫忙這舉辦的鐵人活動,尤其是平常上班,沒有特別的動力的話,一般很難再自我學習,我之前就有看過好幾篇鐵人活動的文章,總算在第 13 屆能夠參加,雖然內容有點水,頂多算是我的學習筆記,因為沒什麼在接觸股票, 期貨...等,所以對於一些概念說得不對,也請大家見諒。
另一個要感謝的是永豐金提供了這麼方便的 sdk,在很多年前,我其實就有想過要試試程式交易,不過市面上大部份的平臺都需要額外的月費,考量到我也不太清楚運作原理,連股市, 期貨都模模糊糊的,這筆錢好像會花得不太值得。除了現成的平臺外,就是從零開始自己寫程式,這又要先有一些網路爬蟲技能,這次試了永豐金的 Shioaji 可以說是把無關交易策略的所有雜事一口氣做好了,我們需要的只是安裝後,直接呼叫 api 即可,真的很方便。
最後也要感慨一下,非常有幸能生在這個年代,網路發達,知識的交流變的非常的簡單,想要學習什麼,基本上網路上都找得到,而且很多免費的資源,這次使用的好幾個 python 套件,完全免費還開源,不只可以用,還可以學習人家怎麼寫。當然這也是另一個不幸的時代,以前就算一輩子生活在小村莊裡,日出而作日落而息,平平淡淡過一生也就算了,這年代,不只有知識在到處流通,還包含各種娛樂和享受,所以一個人要虛度光陰也特別簡單,但是當有些人是努力充實自己,有些人是盡情享樂,雙方的差距也就會輕易的拉大,所以這年代,在這期許自己是努力向前的人。
這 29 的時間,我把三個主要的功能都做了一個大概 - 資料取得 (Shioaji), 資料處理 (BackTrader), 資料互動 (LineBot),不過整個成品其實是蠻粗糙的,就是我一開始說的,放棄應該是不會,我會再多花點時間來把這 29 的成果完善,到時會放在 GitHub 供大家使用,有興趣的朋友們可以關注一下,目前我想到的功能有:
VNPY 是一個 python 的策略交易工具,和 BackTradker 不同的是它有提供 UI 介面,如果不是特別喜歡看程式碼的,或者是對簡體字不反感的,可以試試,聽說功能強大,不過我也沒有試過,所以暫時無法評價,疑似永豐金的工程師,也有提供含 shioaji api 的 vnpy 分支,只是永豐金官方好像沒有特別介紹,大概這個不是他們家的產品,所以不好講明吧。
ZipLine 也是一個和 BackTrader 差不多有名的 python 回測框架,只是這次我挑選的時候,它的相關文件網站我都無法進入,所以這次才會挑了 BackTrader 來介紹,如果大家有興趣可以去研究看看。
RQAlpha 回測和交易的框架,也是 python 語言,只是感覺比較商業化一些,也許有提供什麼不一樣的功能,但我只是想要了解原理,所以也沒有去研究。
PyAlgoTrade 也是我在查資料時看到的一個 python 套件,看文件感覺是和 backtrader 差不多,大家可以參考
量化交易教程是我在找資料時看到的一篇教學文章,看了之後,覺得有多了一些概念,裡面也有介紹一些演算法。
BTR 這裡有不少介紹 BackTrader 的文章
大概就這樣,30天的鐵人賽就到這告一段落了,如果您從第一天開始看到現在,感謝您對我的支持,內容有誤或不完善請見諒。